<?php

namespace App\Jobs;

use App\Jobs\Middleware\TestJobsMiddleware;

class ExampleJob extends Job
{
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
        var_dump("开启了一个新的任务");
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        //
        var_dump("执行了一个新的任务");
//        throw new \Exception("我这是测试错误");
    }

    /**
     * 此方法返回你需要执行的中间件函数
     *
     * @return array
     */
    public function middleware()
    {
        return [new TestJobsMiddleware()];
    }

    /**
     * 任务失败的时候调用的方法
     * @param \Exception $exception
     */
    public function failed(\Exception $exception)
    {
        // 给用户发送任务失败的通知，等等……
        var_dump("触发任务异常了");
    }
}
